Do not chdir when walking

Since the main function is a generator the path can be used while the function is still searching. So changing the cwd is a problem. More importantly, by changing wd the filters no longer works as expected, because they don't match the whole path.