Lightweight DOM-based game framework