Add material system for representing the physical appearance of objects
Added additional operator for extracting pointers from Ref<T> style references, and also made it so that destroying a null Ref won't cause horrible buffer overflow opportunities.

Here's how the new operator is used:

  Ref<IVWhatever> ref = new IVWhatever();
  IVWhatever *bareptr = ref;

Now refs are closer to ordinary pointer types (but not equivalent, as they don't handle arrays, so pointer math operators are still not included).