Improvements to scripting

Made require return the value of the required thing. This allows modules
to be "required" and enables an AMD-like module pattern.
Fixed MSVC bug for weapons

I guess it need to know the namespace since it generates an anonymous
class for the lambda.
Another Weapon fix for MSVC

I guess it was an oversight not to include <algorithm>.
Fixed projectile speed

Speed is now accurate (from the game)
Added damaged animation for Rockman

Also changed tabs to whitespace.
Type conversion fix for WeaponTable
Partially implemented "damage" for Rockman

Created a new event that can be fired to notify that an Entity was
damaged. Added new state for Rockman to be "hurt".