First stab at immutable state objects (create/bind/delete)

We want our state objects to be immutable, handled via the
create/bind/delete calls instead of struct propagation.
Only implementing the blend state to see how it would look like
and work.
23 files changed