Change the InputHandler

InputHandler now only sets the target if it is not already filled (!= 0)
Big update to Action

Action is now an interface class with all pure virtual methods.
Two templated types of actions are derived from it, both utilising the CRTP.
The first is the AtomicAction, which is designed to be derived by actions that have
	unique logic behind them.
The second is the CompositeAction, which is designed to be derived by actions that
	can have other subactions inside of them. This action does not have a list of entities over which it operates.
ActionRegistery has been slightly changed. It now owns all actions placed in it in a multimap, and
	can store only one of any AtomicAction, and multiple instances of CompositeAction.
InputHandler has been renamed to InputController, and it controls the process of going from device events to intents.
	Handling intents still needs more work.
Physics and Render actions are modified accordingly to conform to the change of Action.
Entity has lost its ActionContainer, as it no longer needs to know which Actions are operating on it.
Space received a clear() method.
GameEngine now owns a timer for updates and a timer for render. It updates both of them and calculates how many updates need to be done.
	Also, the logic inside the loop() method has increased so these timers are updated, and the correct method is called on the GameContext.
GameContext now has its own timer, which is updated in the update() method.
	It also has two actions, a logic and a render action. These should both be a CompositeAction.
	It also received a render() method, which calls render() on the render action.
Removed the IntentSystem. It will be replaced by an IntentAction or similar.
Add MessageSystem, which stores message codes mapped by names, and stores messages for actions.
	The messages can be sent to a specific action, or be broadcast to all actions. It receives a msg id and the entity target upon which to invoke logic.
	Messages can also be polled for by any action to receive only messages for it (or those broadcasted).
ServiceLocator lost the GameClock references.
Entity constructors modified due to name changes in GameContext.
Gameplay context changed due to name changes in base class, and small changes to logic.
InputSystem and Context updated.
Simpler Time class implemented to replace complicated timer class.
Move Box2D into the Physics2d Action.

Everything related to Box2D is moved to the Physics Action, in order
to promote isolation of physics code/engine. All Components related to
the concrete physics engine should be defined in their own header file,
in order to more easily swap out physics engines.
The physics Action is also in charge of rendering debug data, so the
b2DebugDraw class has been moved from Gameplay Context into the Physics2d
Action.
MessageSystem has received an update, removing the multimap as a message
container, and making it to be a map with a vector for the message list.
This is made so the messages can retain their insertion order for any
recepient, while the ordering of recepients is not required.
Change inclusion rule.

The #include statement has been replaced everywhere.
Files are no longer included with apostrophes: #include "file"
Files are now included with left and right arrow: #include <file>
Transfer of project into QtCreator IDE.

This is in order to make use of the GCC compiler which has better C++11 support.
Because i really need variadic templates. Damn Microsoft.