This is just extra overhead since the pcb target does not call the scanner recursively. This also removes some compile warnings.
When a black-box item requests a specific footprint, we need to read a file (<footprint>.fp) that contains the actual details about that footprint. Support parse of that file and use the loaded Element to generate the footprint for the item.