pymake: require absolute paths for targets

Also make targets specified on the command line relative to the
makefile used. Since now the "name" of the target is defined
by its path, change the pymake_targets() api to return a list
of targets.

Additionally update makefile.py to follow new API, both required
aboslute paths change and the pymakr_targets() change.
pymake: make CPPIncludes() require absolute paths

Also use absolute path of source directory in C(XX)FLAGS.
libmn: rename untyped_port to port<void *>
pymake: implement ExternalTarget()