Added full GccToolChain support.

cxx, lib, and link all implemented for gcc.
Tested with mingw64 on windows.
Added generator target.

This causes build.ninja to be regenerated when any
python build scripts have been modified.

Note there is currently a bug where a missing input
file in the existing build.ninja file will prevent ninja
from reaching the generator target, even if invoking
the generator would fix the missing input issue.
It's unclear whether this is bug in pynja or ninja.