First pass implementation on bounding area

Removed initial rotation set up, since it seems like a better idea to
assume all bounding areas are by default axis aligned. Objects can be
then be rotated to become non axis aligned.

Also added concept of offset, so that the bounding box does not have to
match the owner's position perfectly
Switching to GUIDs for identification
Adding a collider component

The collider component will track which objects are collider with it's
game object owner.
Reorganized project layout

Moved a lot of the game's source fiels into a class library. This is the
start of me trying to re-organize all the files and split them up while
introducing unit tests. It could take a while for it all to settle back
down.