A review of machine learning approaches, challenges and prospects for computational tumor pathology