Allow DirectBuffer to be initialised from unmanaged buffer

Alternative constructor to allow DirectBuffer to window over an unmanaged buffer (rather than a pinned managed byte[] buffer). 

Avoids a memcopy when receiving a callback from an unmanaged API (in our case, Informatica Ultramessaging).