Add Target APIs

This pull request depends on #10, but otherwise does not include backwards-incompatible changes.

It adds a proper LLVM::Target API (complete with LLVM::TargetMachine and LLVM::TargetDataLayout), which will in future allow to use ruby-llvm to compile binaries without any external LLVM tools. (You still need gcc, but that's an LLVM deficiency).

It also deprecates `LLVM.init_x86` in favor of a platform-independent `LLVM.init_jit` replacement. As another option, it adds `LLVM::Target.init_native`, `LLVM::Target.init_all` and `LLVM::Target.init('X86')` among other APIs.