Converted d/serialization functions to use GCHandle
Consolidated all event handlers into Util
Updated DeviceInfo so it is sealed and throws an ObjectDisposedException if it has already been disposed and any function is invoked on it.
Changed BPSHandle to be a CriticalHandleZeroOrMinusOneIsInvalid.
Removed revision on AvailableSinceAttribute.
Added (BPS) Channel.
Added BPSEvent (placeholder for now)
BPS
-Added ability to get or set the active channel
-Added ability to push events
-Added ability to register a channel destroy callback for the active channel
-Sealed class.
-Additional todos