flexCWM: Flexible Cluster-Weighted Modeling