1. Вы можете назначить свою функцию на идентификатор onReady передав ее аргументом в вызов setOnReady. В 51-ой строке как раз такое переназначение и происходит.
2.
setTimeout(function() {
onReady();
}, getTimeToBoil());
Можно упростить до:
setTimeout(onReady, getTimeToBoil());
Статья с пояснениями по этому коду.