First try at getting Make-like expressions to work inside scripts.

Note: functions are not supported yet.
Reimplement the parser as lazy generators, so as to reduce the amount of copying.
Optimize calls to register_transparent_rule by avoiding uselessly copying targets.