a <canvas> game framework that does as little as possible