Further rethinking of Input and reactors.
Further rethinking of Input and reactors.

Now we're completely separating out the Region which determines whether a
reaction is live and whether the pointer intersects a region, and the listener
which is just a standard pointer listener.

This allows for fancier extensibility as we'll see in the next commit.

joansmith/tripleplay,tomfisher/tripleplay,joansmith/tripleplay,joansmith/tripleplay,tomfisher/tripleplay,joansmith/tripleplay,tomfisher/tripleplay,joansmith/tripleplay,tomfisher/tripleplay,tomfisher/tripleplay