add player class, render and update loops, and some demo logic