Use extents for macros instead of the old line+col scheme.

This is now consistent with all other references and simplifies
the code in build.py