Fixed up the FlxShapes

Fixed a lot of inconsistency in the FlxShapes. Now the following should be true:

* Width/Height of shapes reflects underlying geometric boundaries (ignores stroke)
* Offset should be automatically set so that object's x/y matches expected position
   * X/Y = upper-left
   * Turn on debug lines, boundaries should be in the middle of the stroke (for a rectangle), etc.
Hmmm... looks like you have to match the case exactly for Enums-->Strings to work?

http://try.haxe.org/#BBe8a

I load a lot of my stuff from xml files and my naming convention is to have all the data be lowercase. One of the reasons I have the abstract is so that I can properly sanitize all the input and make it properly resolve as the right shape type. Can I do that with normal Enums?