Split library in different files
Added writer implementation
Extracted some constants and added fixed inf loop
Updated execs to use a buffer
Added documentation and travis support