A javascript canvas game framework