only generate vao and vbo once during the lifetime of the program
added normal attribute component
added water_surface class
added transparency
added index buffer object for water_surface class
implemented a common way to compute the normals of the water surface
pressing 'V' to render the normals of the water surface