Unmanaged memory classes

SlimDX and SharpDX both allow the user to pass data in and out of the API by
way of thin pointers to unmanaged memory. These classes will allow OpenTK
to do the same thing, for example an index buffer could be constructed in an
UnmanagedArray<ushort> and then passed to the native API with no further
user side copies.