Add multi-task support to EarlyStopping 
🚀 Feature
Make EarlyStopping watch multiple values and only stop when all of them no longer improve.
Motivation
I have been training a multi-task model with multiple outputs. Each output is validated and logged by the model.
As of today, early stopping can only watch one of them. Hence, the user has to choose which task is the main one.
Pitch
Make EarlyStopping watch multiple values and only stop when all of them no longer improve.
Alternatives
One could add multiple EarlyStopping callbacks (one for each task) but this would stop as soon as one of the task no longer improves (even though another one might still be improving).
Additional context
Note that ModelCheckpoint does not have this problem: one can add multiple instances of ModelCheckpoint (one for each task) and you get what you expect: checkpointing based on each task's validation metric.