Upgrade V8 to the 3.19 branch

$UPSTREAM are apparently doing significant API changes, in particular
to the the Handle part of the API.

Some information about the changes here:

  https://groups.google.com/d/topic/v8-users/6kSAbnUb-rQ/discussion
Upgrade V8 to 3.21.17

Also various changes required to build with it.
Runtime()::~Runtime(): don't dispose twice.
Restructure v8 part of build system
Fix some warnings