Use HandleMap to replace plain js map for storing handles and watchers.

There is no int64 type in js, so the HANDLE (which is void*) can not be
safely converted to js integers on 64bit Windows, and a custom HandleMap
is introduced to store handles as keys.