TextScreenBase provides a base interface. TextScreen implements this using a the normal 0xB8000 region

http://wiki.osdev.org/Text_UI
http://wiki.osdev.org/Text_Mode_Cursor

TextScreen is the raw access to the screen. It should not handle virtualization or buffering. That can be handled in System ring and using absracted memory copies for the virtualization.