Merge pull request #20 from JacobLeach/backspace

Backspace works
Fixed code style. Fixed comments.

Added a variable for start of line instead of hard coded 0. I removed
comments that were clutter and added some smaller and more useful ones.
I changed tabs to 2 because that is what I prefer and that is all that
matters.

Look at the compiled JS to get a feel for the few code changes I made
since the indenting is not changed in there.
Added the basic code for simple ANSI Control Codes.

Have not yet tested. Need to update the keyboard driver first. This is
also just for fun and could be a terrible failure. It is also not the
best way to go about doing this but that's whatever.
Added support for escape.
Merge branch 'driver_keyboard'
Merge branch 'master' into console
Added support for two ANSI control codes.

Both CSI F and CSI E both work. Also had to change it so that any
non-supported ASCII characters from the keyboard driver get turned into
null. Not the best but it works for now. :(
Merge pull request #22 from JacobLeach/console

Console
Refacted ANSI Control Codes code.

Added helper functions to move cursor around instead of doing math each
time.
Added support for tab.
Merge pull request #23 from JacobLeach/driver_keyboard

Added support for tab.
Merge pull request #24 from JacobLeach/console

Refacted ANSI Control Codes code.
Added call to Shell from Console if a tab is sent.

This likely should not be like this but I would need a better OS for
that and likely a system call for input. Added tabCompletion function in
Shell.ts to handle tab completion.
Tab completion works but won't list multiple matches.

See: #5.
Merge pull request #25 from JacobLeach/tab_completion

Tab completion
Added command history.

This a a complete fuckery. Edited keyboard driver to return ANSI control
codes for arrow keys. Edited console to call handler functions for those
command keys. Added handler functions to do the command history with
those command keys.

A massive refactoring is required for console and shell because this is
awful but I got really god damn annoyed with this fucking shit so I
couldn't be bothered at this point in time.

See #5.
Merge pull request #28 from JacobLeach/command_history

Added command history.
Shit was working but now its not. Idk why.
Works now. Can't be bothered to write a good commit.
Made Kernal show Greenscreen when kernal error.