MapNodeLayer limits canvas size to 3x viewport

Before this change the canvas used by the MapNodeLayer could extend to be millions of pixels wide. While it meant no renders were needed on pan it was not a scalable solution for other renderers (e.g. canvas). 

This change limits the canvas to 3x viewport size and updates the position and contents of the canvas at the end of a map pan.