Re-structure library using namespace

- Better code structure using namespace
- Can be use with packagist
- Using composer autoloading