Rework command line processing and add new options

New options are added:
--screen sets the the screen to operate on.
--nodoublebuffer assumes no double buffering will be used, so that
higher resolution/color depth modes can be set with a small framebuffer
size allocated by the kernel.