Adds bullet scripting via iterator block

Bullet scripting has been added via straight-up C# functions that return an enumerator. Using iterator blocks, scripting bullets can be done in C# syntax with an easy way to tell the bullet to "wait" for some frames.

Bullet has also been moved to its own file for the sake of cleanliness.

BulletSystem's firing functions have been renamed to be a lot more clear.