TypeBuilder refactoring:

- add a Type register that uses the type name as key

- add requireTypeByName() function

- rename registerType() to registerTypeById()

- rename retriveType() to requireTypeFromBuffer()

- add ‘Object’ Type parameter serialization/
deserialzation

- make the tlSchema.id optional in the 
Type constructor definition

- start using func.call() instead of func.bind()

- support mtproto.Message interface as MessageWrapper
super type
Update TypeBuilder test
Update the project dependencies