Ancient Murrelet, Hair-crested Drongo, Blue Rock Thrush. It's not the most obvious set of confusion species really - all are completely different from each other!
It goes to show how important some information can be in the decription - in this case, the information that the bird was on bare rocks near the sea was vital to correct identification.
Anyway, it seems that the ID has been resolved. Well done to butter on your sighting, and well done Katherine for working out the species!