Trainer: An Energy-Efficient Edge-Device Training Processor Supporting Dynamic Weight Pruning