Numerous cleanups & additions
Add ability to specify phase in sine/square wave generation
Add ability to shift samples in sine/square wave generation
Move configuration packet formation to separate class
Update documentation
Make digital_read() and digital_write() pin-based (with separate
port-based digital_read_port() and digital_write_port())
slightly cleaner USB interface
functions to generate sine/square waves now return the actual frequency
cleaner clock divider / sample point count calculation