Get rid of a redundant inline function.
Silence a warning for an unused function.
Delete a few unused local variables.
Add a virtual destructor to JSObject.

No virtual destructor for polymorphic types is bad!
Avoid a few signed/unsigned comparison warnings.
Enable -Wall and -Wextra for regsgen2.
Include <sys/types.h> to get ssize_t in regsgen2.

This unbreaks regsgen2 build on Mac OS.
Disable PlatformMain on windows (not supported).
Provide toolchain files to use with CMake.
Properly detect the presence of certain symbols in the target sysroot.

Instead of guessing that a given android sysroot will or will not
contain a specific symbol, we can just run a series of tests in cmake
and set the appropriate pre-processor defines to enable or disable our
fallback wrappers at compile time.