Make colorbuf_copy index relative to draw buffer pos

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Remove dependency code from colorbufs

We can handle this better elsewhere, and also make partial reuse of the
colorbuf easier.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Introduce targets

Targets are our dependency mechanism. Each target is a set of states, a camera,
and a root object. We can "Hit" a target to draw the root object from the
camera perspective, and then iterate through all the states and flush.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Add refcounting for objects

We change a few of the object interfaces in this, but turns out we weren't
doing much lifecycle management for them anyway, so not much outside of
object.c changes.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Add camera API to objects

This is a straight duplication of camera.c. We entirely absorb camera
functionality. This lets us use object-style transforms, though, which is nice.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Make target grab its root object

Now that we have refcounting for objects, may as well use it.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Switch over to using objects as cameras

We've now killed camera.c. Objects have a camera type, and there are some
camera-specific functions for setting their properties.

We should be able to use the same animation controls on cameras as on anything
else in pretty much all cases.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Move texture unit allocation into texmap.c

Everything gets a texture unit now.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>