Added button release handler to XEvents.
Added pointer tracking to XModel.

This isn't currently tested. However, in order to get the difference
between two `Dimension2D` objects, I had to make the `Dimension` type
signed. *That* change didn't break anything, according to the tests.