A Machine Learning Approach for Smartphone-based Sensing of Roads and Driving Style