To help maintain CCW lifetime across native calls, we should change WinRT.ObjectReference<T> to implement the Dispose pattern (and possibly move the release logic up to the base IObjectReference class). This will allow us to use using() blocks around the native calls to keep the ObjectReference<T> to a CCW alive across the native call.