GameObject ID changes

All game objects now have an unique ID associated with them. Uniqueness
isn't currently enforced.
Shorter code
Additions to comments
Remove unused class
Minor comment improvement
Moved function to base class

Moved is_invalid to GuiObjectBase and renamed to is_valid
Add method get_parent
MenuItems now take Menu as a parent
Don't use temp var for sprite
Added comments
Removed SpriteType

Not needed
Removed unused utility function
Ignore *.ilk
Formating change
Initial commit for game object modifiers