Really dirty commit with a bunch of changes and a lot of bugs.

This commit should've probably been split up into multiple ones, but I want to get this out of the way to merge in changes I made in a private rewrite that added ARM support.
Added a personality system as a first step to multiple platform support and kicked the video device for the time being (only serial port output right now)
Added pre-compiler checks for the bootloader