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.
Okay, so instead of being able to do this:

````
var type = new FlxShapeType(someInput);
````

I should do this instead?

````
var type = FlxShapeTypeHelper.get(someInput) //sanitizes input and returns a FlxShapeType which is just a simple enum
````