Add webgl simulation

based on webjelly

god that was painful. opengl is a terrible api.