Fit canvas to viewport

When you open a creature the canvas will be zoomed and panned so it fits inside the viewport. Also added constraints so that the user is not able to zoom or pan the canvas away from the viewport edges.

Ie: you can zoom in, but can't zoom out really far like we used to.