Update canvas size before creating viewer

The create of the viewer using the size from the canvas so it needs
to be set before passing it to createNewViewer(...)

Change-Id: If20c60285ce1de84fcd5f91b7b55513ace332f92
Prevent mouse event handlers be bound multiple times

Move binding of mouse event handlers out of drawScene().

Change-Id: Id10581031c0dcf4543efa972c5f5f94e185685cc