Move MouseEvent et. al. to canvas.py
(no changes to the classes themselves)
Fixing up the event classes and how they are documented.
Tweaks to events and backends.