Try Before You Dye: Virtual Hair Color Try-on and Recommendation