Cleaned up the code & improved key areas

Cleaned up some relations between the Entity and Enemy objects. They
share much more common code now.

Added a way to enable/disable gravity per Entity basis and other small
things which cleans up the code.

Still gotta comment it all and make more subfolders. Hard work work.. :)