Fixed include
Start of code re-write
Allow public access to sleep/wakeup functions
Cleaned up API and removed various previxes, minor code shuffle to consolidate method nesting that was unnecessary
Re-worked library to separate SWI from standard implementation
Updated to be a cleaner timeout setup