GameJs делает это и даже больше - это похоже на упомянутую PyGame.
http://gamejs.org
Возможность рисовать многоугольники (а не только прямоугольники!) С цветами RGBA (то есть частично прозрачными),
gamejs.draw.polygon (surface, color, pointlist, width)
Прозрачные цвета можно определить как 'rgba (50, 50, 50, 0.1)' (последний - альфа) * 1009 *
http://docs.gamejs.org/gamejs/draw/#polygon
Возможность загрузки растровых изображений,
var surface = gamejs.image.load('images/foo.png')
http://docs.gamejs.org/gamejs/image/
Возможность считывания текущего цвета пикселя по заданной координате.
// a surface array is a special DOM canvas array
// that is superfast for per pixel access / manipulation
var srfArray = new SurfaceArray(display);
srfArray.set(50, 100, [255, 0, 0, 100]);
srfArray.get(20, 30);
http://docs.gamejs.org/gamejs/surfacearray/