path.walk: pass filter recursively. closes #64