Fix for negative object width and height

- Turned width and height of FlxObject into properties with warnings to
ensure they can't be set to negative values, which breaks collision
detection while still being drawn correctly in visualDebug
- Also improved the documentation of width, height and offset to be more
beginner-friendly and informative