Minimal camera utilities for 2D and 3D Canvas/WebGL