|Windows uses many types of
handles. We encapsulate all of them in this template. NativeHandle is the
original Windows type, like HWND, HDC, HPEN, etc.
|Note that Handle is-a
NativeHandle not by way of inheritance, but through the overloading of the
cast operator. Use this trick when the underlying type is not a struct or
class (here NativeHandle is a pointer to struct).
|This generic handle is not a
resource yet—it corresponds to a naked pointer in the auto_ptr lingo.