Refactor classes into separate modules

"classes.py" is too generic of a module, since likely all of the
final program will consist of classes.
Add 'Samavrtta' class

Now the hard part begins!
Add cached properties to Line
Add various docstrings
Add ardhasamavrtta and vishamavrtta
Add end-to-end support for samavrtta
Add support for ardhasamavrtta and vishamavrtta