Fix and refactor virtual console driver

Virtual console driver is now working.  I have no idea what the problem
was originally but by rewriting the code in terms of offsets into
consoles I was able to get it working.

The user space program 'consoletest' provides a little demonstration.