Made Zone::x and Zone::y public

To match the visibility of height and width. (Would like to test commit,
if this isn't consistent with how the code should work, please reject)
Unassigning touches when zones are removed.

Using TouchClient::putZoneOnTop() in the touch method and removing a
zone that is being touched led to errors. Namely, the zone was getting
re-added to the TouchClient.