`mbtn_left` and `wheel` events are now only fired on a `cursor.on_{event}` object, which resets at the beginning of each frame, so elements need to bind these listeners in their render functions. These properties are overwritable which allows elements to take over cursor event handling from their parents if necessary.
`mouse-pos.hover` may or may not be false during touch input
(contrary to mouse input, where false means the cursor left the window)
Detecting a change to false as a leave event, while allowing any
other mouse-pos update to cause an enter event solves this.
I don't like this solution, but anything cleaner would probably require converting chapter indicators into individual elements and than managing/updating their positions and sizes in relation to growing timeline, which seems like a lot more work and code, so this'll have to suffice.
closes#370