Fixes advanceLine not moving down enough.

The font height measures from the baseline to the highest point in the
font. The font margin is supposed to add space between the two lines. The font descent (added in
this commit) measures from the baseline to the lowest point in the font.

See https://github.com/labouseur/TSOS-2014/issues/6 for a fuller explaination.
Merge pull request #7 from JacobLeach/issue_6

Fixes advanceLine not moving down enough.
I MADE ALMOST NO CHANGES.  YAAAAAAAY.
Added date functionality.  YAAAAAAAAAAAAAAAAAAAAAAAAAAY I'M DOING IT, MOM!
Added where am i and one true bond commands.  Enable popups for one true bond!
Forgot to actually do the shell command for one true bond.  Sean Connery is trying to stop me!
@rebeccamurphy thanks for the genius bb
Implementing date and time in host log thing.
Finished implementing date and time in host log thingy.  Probably did other stuff but I'm tired and senile as all hell so I have no idea.
Implemented status shell command.
Made symbols and shiznit work.  On to backspace!
I'm tired.  Fuck backspace.  It sucks.
HOLY SHIT BACKSPACE WORKS NOW SLDKFJ:SLKDJF:SLKDFFDSFDS:LKJFDS:LKJ
I MADE IT SO BACKSPACE DOESN'T FLY OFF THE FUCKING CANVAS YEAHHH
Fixed backspace so that it clears the buffer properly and ACTUALLY backspaces.  Duh.
Still working on history.  Almost.  ALMOST.
Fixed backspace so that it wouldn't eat the carrot (goddamn vegetarians).  Also got tab completion working, except for commands that have the same prefix.  Gotta give the user choices, y'know.
Got tab completion to work with single and multiple suggested commands.
Finally got user command hex checking to work.  My brain legitimately stopped working and I got stuck for a while.  Onto scrolling.
HOLY DINGLE DONGLE I JUST GOT SCROLLING TO WORK SDLKFJ:LAKDFA:LKJFS:LKDJF:LKDSFJ