macosx: Separate table view data source delegation from table view data sources
At the moment, our table view data sources are big god objects that handle everything relating to table views' functionality. This makes for big classes that are unable to share much functionality.
Separating delegation from data sources helps resolve this, and enables us to use inheritance to reduce code duplication (especially regarding table view cell generation)
Signed-off-by: Claudio Cambra developer@claudiocambra.com