game(-ish) engine for the HTML canvas element