Cut Corners

There are a few places where I cut corners in the interest of not junking-up 
code.  This is part of the TempleOS mentality.  I try not to let stupid legacy 
compatibility issues enter and junk-up TempleOS.

* I made my type-casting operator post-fix because it makes the compiler way 
cleaner.

* TempleOS does not figure-out FAT32 short name alias numbers.  FAT32DirNew().  
It can cause hard drive corruption, so I might have to do it.  It would really 
take a lot of junky code for this hatefully, detestable, legacy issue.  "Please 
don't make me ruin my beautiful shiny-new TempleOS with that!"  I am also not 
enthused about FAT32 because it is in patent limbo.  FAT32 might get removed 
from TempleOS.  There is the RedSea  64-bit file system that works perfectly 
well.  FAT32 is useful, however, because it assists in transferring between dual 
booted operating systems.

* I changed the asm opcodes names to remove the ambiguity between insts with 
different numbers of arguments, making my assembler simpler and I did minimal 
16-bit asm support, since 64-bit is what you should be using, unless you're 
doing a boot loader.

* There are no user-controlled file-sharing locks.  However, the drive and file 
system have locks and concurrent operations should be fine. 

* A hidden window is never refreshed.  Certain tasks are never done, therefore.  
During refresh, the entry count limit of the document buffer is, normally, 
checked and enforced.  If you print to the command-line in a task whose window 
is covered, no limit on buffer exists and it will alloc memory for the document 
buffer until the system runs out of memory and crashes.

* Even if a local function variable is declared less than 64 bits, the compiler 
does calculations with 64-bit.

* Print() uses StrPrintJoin().  You cannot use vastly over-sized fields for %f.

* GrEllipse3() is broken on transformations.