Updated to conform with latest rust and cargo

* All in one single file without nested directories
* Updated to new enum namespacing
* Proper metadata for the package
* build.rs script
Use gcc crate to build the library