update for LLVM 3.3
use libffi to enable external function calls

As suggested by @jason-wolfe. Closes #1.