Improve/synchronizer

Refactor the API class by handling the validation and object conversion inside of it. this way the result of calling any method in this class will be a Channel or Video object and it will be validated. also, update the manager class to reflect the changes happened in the api class. in addition, the sync method in the synchronizer class will now accept a ResourceInterface which can be implemented by any model.