This is much cleaner to add dependencies.

Currently, some dependencies are referenced via project.properties outside the project root via hardcoded paths. This makes it much harder for anyone to pickup and start contributing to the project. ideally the library project dependencies should be submodules. With gradle, need not worry about this anymore :)