Linus's rewrite

I've been busy!

TODOs:
- [ ] Implement Optional lines
- [ ] Add back clean-up options
- [x] Apply transformations as necessary (scale set by user on import, and rotation to match blender's coordinate system)
- [ ] Implement materials (make a dict mapping colour indices to `bpy.types.Material`s in the `LDrawParser` class?)
- [x] Guess library path
- [x] Search appropriate paths according to chosen LoD
- [ ] Handle incorrectly-formatted lines properly
- [ ] Think about how to catch circular references