Refactor: Renamed castTo<> to as<> in Info and Event

If C# has taught me anything it is that "as" is quite an intuitive
keyword for casting.
Refactor|libgui|Client: Mouse events

A MouseEventSource now produces actual MouseEvent instances that
can then be passed on to whoever handles events. Added absolute mouse
position event generation to Canvas.