Fix and improve canvas resizing

This PR:
* splits `_reconfigureCanvas` into `_resize` and `_restyle`.
* no more mixed methods that tweak the whole canvas using configuration object — it simplifies things
* fixes priorities of resizing when initialising from canvas