Implements last touch

This implements a last_touch variable which can store the last relevant touch. This in reference to https://github.com/kivy/kivy/pull/1502. Right now only Button uses it. 

I also added a last_motion_event class variable to the MotionEvent class. I couldn't decide if last_touch should store every touch, or only touches which are relevant to the widget. So I figured that last_motion_event can keep every last event, while last_touch should only update with relevant touches. If this scheme is acceptable, I can make other widgets set last_touch.