Added test data

Testing 2x2 corner curves.
I SHOULD COMMIT MORE OFTEN

Moved WallMode to its own class to implement extension methods and
refactored all references. In TileMap: changed GetAngle to GetTileAngle
and added GetSurfaceAngle. In PlayerController: player can now attach to
the ceiling, player now accelerates/decelerates based on steepness of
the angle and the "slope factor," refactored to use GetSurfaceAngle,
renamed some sensors for clarity. In CollisionMask: fixed bug with
GenerateWidths where less-than should have been less-than-or-equal-to,
causing inaccurate widths for the bottom of the mask, removed
unnecessary float conversions in GetAngle, fixed issue with copy
constructor where it was copying itself.