API for various compression codecs

First draft of API.
@trustin and @normanmaurer please review it.
use `<p>`and not `<br><br>` for formatting