Linus's rewrite: episode 2

Remaining TODOs:
- [ ] Implement Optional lines
- [x] Add mesh merging
- [ ] Add back automatically removing doubles
- [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