Vertex attributes creation and binding

Feature list:
  * user-friendly mesh constructor
  * strongly typed attributes
  * full-featured binding on GL side
  * compatibility checks with the shader input