Optimized Assembly code saving more bytes and saving a few cycles
Moved and refactored assemby from ATMlib.h code to ATMlib.cpp
fix muteChannel() and unMuteChannel() so (un)mutes channel properly
Added C++ equivalent ISR code
Timer/counter 4 is enabled on Arduino init() and a Timer/counter 4 overflow may happen right after the timer/counter 4 interrupt is enabled. When this happens the channels have not been initialized yet causing random noise/sounds being played.
This has been fixed by moving the interrupt enable after the channels have been initialized.