(PUP-2881) Replace taskscheduler's COM with FFI

 - Remove Windows::COM definitions found in windows-pr from the
   taskscheduler code.
 - FFI calls to CoInitialize, CoUninitialize, CoCreateInstance,
   CoTaskMemFree
 - With calls to CoTaskMemFree made as FFI calls, pass pointer instead
   of it's address
 - Add new HRESULT and LPUNKNOWN definition to api_types
 - NOTE: FFI::MemoryPointer.from_string appends an extra NULL byte to
   the GUID values, allocating 17 bytes instead of 16, which is OK here
   as the underlying API call to CoCreateInstance ignores the stray byte