A CSI-Based Multi-Environment Human Activity Recognition Framework