* added initial code to handle/draw different primitive types (for now this is still triangles-only!)
 * pipeline draw command range is now [first, last) (that is, inclusive first element, exclusive last element) to match general c++ and opengl style
 * updated all samples accordingly