Remove data struct; create ops struct

- Removed private data struct from wp_graphics and wp_tegen:
  - Created wp_tegen_ops
  - Created wp_graphics_ops
  - Removed wp_graphics_data and wp_tegen_data

Structs are now pure data with a pointer to their operations. Default
operations are provided. Calls to interior struct operations should be
careful to check for NULL.

struct foo_ops;

typedef struct foo {
  <data>;

  const struct foo_ops * f_ops;
} foo;