Fixed wrong usage of unsafe.Pointer
Corrected some usages of unsafe.Pointer
according to the golang
documentation. Used go vet
to verify.
This also adds and updates the package documentation.
Some examples have been added to the documentation.