refactor glDrawElements

- refactor glDrawElements
- added support for GL_TRIANGLE_STRIPS
- TODO: Convert glDrawArrays to use the same code to generate triangles from triangle list/triangle strip