Make bower crawler more robust

This starts implementing #39, however I wasn't sure what to do about `main` when bower.json is missing. That could still be read from package.json.