Rewrite the library in C

Firstly, Rust tasks don't interact well with C stack, resulting in runtime
assertion failures in Rust's internals. As a result we're not using Rust's
tasks and one good reason to use this language disappears.

Secondly, this library is a very simple wrapper around liblzma. Rewriting
it resulted in just 51 lines of C. There's a lot of savings since
boilerplate necessary to expose Rust fns through a C API got deleted.

Thirdly, the library is now 10kB in size. Before this patch it was 2.5MB
because of linking Rust's standard library statically.