www.telestial.com has better prices than planet omni.
To answer the original question, I have looked around the arrival area at Heathrow and not found anywhere to purchase a prepaid SIM. If you are spending any time in London you should be able to find a mobile phone store that can help you. One of the US providers such as planet omni or telestial costs a bit more than purchasing in the UK, but may be worth the convenience. I don't think that the UK prepaid cards will work on your cruise, only in the UK. Swiss Easy Roam may be a better solution but costs more per minute. Swiss Easy Roam costs more from the US providers than it does from European providers. The rate in Germany/Switzerland is 1.20/min (20 units) while telestial charges 1.60 for the same number of "units"