Use cabal as the build system

Signed-off-by: Boqun Feng <boqun.feng@gmail.com>