Support require with directory name
Refactor SDL and LLVM into separate libraries