This is basically the same as #221 , but the merge conflicts there were too complex to resolve, so instead I started over from Development, cherry-picking each commit at a time, modifying the code as needed, and testing at each stage to make sure it worked.
Resolves #141 .
This is basically the same as #221 , but the merge conflicts there were too complex to resolve, so instead I started over from Development, cherry-picking each commit at a time, modifying the code as needed, and testing at each stage to make sure it worked.