Implements a Keras callback to save the top N best models on evaluation data,
At the end of each epoch, update the best models and save to json