Updated build system & Documentation

- Leaf is now built into a separate static library libleaf.a
- I improved the Makefile system, making it easier to maintain
- Changed the file.open mode argument from string to constant value
file.in and file.out
-  Added some oxygen formatted doc