A double from Daizen Maeda saw Celtic come from behind to beat Rangers and close the gap to league-leaders Hearts to just one point.