Added Point class

1. Wraps around a point on the screen, which may or may not correspond
to a valid coordinate.
Start of minor cleanup of Coordinate
Updated require statements