Add "nopPipeline" to Caramia.Shader.

This is a pipeline that doesn't do anything. I added it for convenience because
sometimes you want to use it with the new rendering batching I'm adding in
following commits.
Make `Buffer`s part of Ord type class.
Add the ability to batch drawing commands more efficiently.

This introduces the `Draw` command stream value (which is probably going to be
built using Applicative or Monad operations for most of the time).

I split DrawCommand to DrawCommand and DrawParams; the former specifies the
which geometry to use and the latter pipelines and textures and stuff.

The `Draw` stream localizes state changes so we can build streams that specify
state changes that then happen efficiently.