Changelog:
- Entirely restructured `wad.py`, `tmd.py`, `ticket.py`, `content.py`
- Added `title.py` for higher-level access to an entire WAD and all of its components without having to handle each one separately
- Fixed a bug in `content.py` and removed a mitigation for that bug in `crypto.py` that also caused issues
- Added support for for re-encryption of content and for that content to be loaded back into a ContentRegion
- Added support for dumping TMD, Ticket, ContentRegion, and WAD objects back into raw data for outputting
- Added support for creating blank objects of each type so that data can be loaded into them after creation, rather than forcing you to have that data beforehand (this allows `title.py` to actually function for creating a new WAD from loose files)
- Removed unnecessary instance attributes that didn't need to be exposed and would become poisoned upon any changes
- Removed some remaining instance methods that just retrieved instance attributes that you could already access
- Replaced `content.py`'s `get_enc_content()` and `get_content()` with `get_enc_content_by_id()`/`get_enc_content_by_cid()` and `get_content_by_id()` and `get_content_by_cid()` to allow getting content by either its content index or ID
Please be aware that for the most part, the API for libWiiPy v0.1.0 is entirely incompatible with libWiiPy v0.2.0. Fewer dramatic changes are likely to happen in the future, but this is just how prerelease software goes.
This release is also available [on PyPI](https://pypi.org/project/libWiiPy/0.2.0/).