Mass of changes

OH SHIT.
Makes the material panner simply wrap its renderer's material with the
material property.

Moves DisplaysItem into a subfolder.
Adds a number of extension methods for Data, Float, Rect,, and Unity
classes.
Most Importantly, the humorously named Component.GrabFromChild<T>
function. (Returns component T from child with a name passed into the
function)
Also, Component.Duplicate and Component.DuplicateAs<T> to instantiate a
copy of the game object (with same position/rotation), and the latter to
specifically get a reference to a specific component on the duplicated
GameObject.
Updates some Data functions to not warn about renaming .csv files to
.txt since unity now supports .csv files as text assets.

Adds ZEditor class with common functionality for editor windows.
(Labeled fields, checking for changes.)
ItemDatabase now shows red buttons if changes have been made

Adds a number of new GUI Behaviours.
GUI2dTextField draws a textfield over a 3d object, which can be
offset/stretched with a Rect property.
GUI2dLabel draws a 2d Label over a  3d object

DisplaysString is a simple template class where only a 'GetString()'
function needs to be changed, and it will modify the attached TextMesh
to whatever that string is.

DisplaysItem is in the works. It will be a component of a larger 3dGUI
class which can display a scrolling list of items.

Moves Inventory.database into Item.database, as well as static loading
functions.

Also fixes a number of warnings.