Added Interaction System class
Added an interaction system

Added Interaction_System
Allows for registration of interaciton functions via function pointer
Removed size component and incorporated it into the position component
Worked on better incorporating entity interaction

Added a call to update the entity location information when an offset
is added
Changed the do_collide method so it ignores reserved entities SCREEN,
CAMERA, BACKGROUND
Changed the movement system so it only moves a registered entity
Added function pointer definition of movement actions

Also seperated specific types of entity creation from the manager
Implemented projectiles being fired after pressing spacebar

The created projectile entities are removed once they hit the edge of
the screen
Added a movement component so entities can move across the screen
Implemented basic fps timing and modifying keyboard actions to work on key up or down
#18 Modified the game loop to run at a designated FPS
#7 Can now successfully recognize interaction types between entities and perform an appropriate aciton

An interaction is defined in a function and the function pointer is
passed to the the interaction system
fixes # 19 Made quite a few changes to systems, components, the game manager, and how the user interacts with the api

Systems now hold there registered entities in a map.  This was done to
be consistent across other game objects and to assist in the problem of
duplicate entity registrations
Game_Manager now holds special pointers for the camera and screen
create_screen_entity is now intitialize_screen
create_camera_entity is now initialize_camera
A default screen is automatically created when the game systems are
initialized
The user can redefine the screen using initialize_screen
The camera does not need to be defined for the game to run
A camera will automatically be set to the same height and width as the
screen
The camera can be defined using initialize_camera
When the camera or screen are initialized by the user, their pointer in
Game_Manager is updated
Many checks were added to Camera_System and Render_System to ensure
that screen and camera entities exist and have the proper components.
If they don't meet the requirements, nothing may be drawn, or the
camera may not be updated depending on what the problems are
Added a transparent missile image
Merge pull request #22 from n8ebel/dev-Milestone2

Dev milestone2