A 2D game framework using JS