Introduce the input stream stage to the gpu::Batch and apply it for model rendering

- Add the setIndexBuffer, setInputFormat and setInputBuffer to the gpu::Batch allowing to configure the input stage of the Context. These provide all the necessary indexBuffer, inputBuffers(think vertex buffers) and their attribute binding to the vertex shader.
- Introduce in gpu::Stream.h the Stream::Format that describes the format for each attributes of the vertex and the binding to the input buffers.
- Introduce in gpu::Format.h several useful enums to describe scalar and element formats
- Introduce the BufferStream which is a container of buffers and their respective offsets and strides to be used as input buffers for the gpu::Batch.
- Replace the Model::render code path using glCalls by the new gpu api.
- Replace the QGLBufferOBject by the gpu::Buffer in the NetworkMesh used in the Model class


Brad, are you thinking a macro that does the "if (...) {...}"  test ?