
== Read ==
- UTF-8 / UCS-4 Character Stream
 > Selected with mode call

== Write ==
UTF-8 Emulation Text Mode:
- Emuates a character device
 > VT-100/ANSI Control Codes
 > Characters/Symbols are sent as UTF-8

/*
Native Text Mode:
- NxM 64-bit entries
 > UCS-32 Codepoint (if a diacritic is encountered, the previous character is modified)
 > 12-bit (16 encoded) Foreground
 > 12-bit (16 encoded) Background
*/

Framebuffer Graphics:
- WxH 32-bit (3x 8-bit channels) framebuffer
- Write to entire framebuffer

Accellerated Graphics:
- Command Stream
 > Each Node.Write call is a single command
 + NOP (-)
 + Direct (Uint16 X, Y, W, H, Uint32 Data[])
 + Blit (Uint16 W, H, SrcX, SrxY, DstX, DstY, Uint32 Data[])
 + Fill (Uint16 X, Y, W, H)
 + Rect (Uint16 X, Y, W, H)
 + Line (Uint16 X, Y, W, H)
 + Text (Uint16 X, Y, Size, Font)
 + ShowTile (Uint16 ID, Uint16 X, Y)
 + DelTile (Uint16 ID)
- Extra IOCtls
 + int LoadFont(char *Path)
 + UnloadFont(int *ID)
 + int MakeTile(struct {Uint16 W, H, Uint32 Data[]} *Img)
 + DelTile(int *ID)
- Allow fast switch between Accel/Framebuffer?
- Min Reqd Tile Size 32x32
 > Tiles should be driver emulated if unavaliable by hardware
 
3D Graphics: (Can be emulated if not avaliable, or just denied)
- Command Stream
 >
 + NOP (-)
 + FlipBuffer (-)
 + LoadTexture(Uint16 ID, W, H, Uint32 Data[])
 + UnloadTexture(Uint16 ID)
 + SetTexture(Uint16 ID)
 + Triangle (Uint16 Texture, Uint32[3+3+2][3])
