Add UITableViewCell custom class, gradient drawing, constant based dimensions, fix bug caused by offset animation clashing with ViewController dismissal case, refactor code into model where appropriate