driver: split module locator into different module
driver: start making build driver recursive
driver: add recursive build driver