How can I take a single hotel Wifi connection and share it out amongst devices via Wifi?
One solution is to buy a USB Wireless adapter with "soft(ware) AP" (AP stands for "access point") feature. It's up to you to find it, as it's forbidden per SuperUser rules to be specific with which device to buy.
Note: Be sure to check if this feature is supported on your operating system.
Ethernet to WiFi sharing can be done through OS X. Instructions here:
http://www.maclife.com/article/howtos/how_share_your_wireless_internet_connection_ethernet
As for WiFi to WiFi, using an additional WiFi dongle connected to the laptop would probably be easiest, but it may be possible to share the connection over the iPad or iPhone's USB cable if they're jailbroken. I think apps exist for this, but I'm not sure as don't own an iOS device. If it is possible, you could connect to the network using the iDevice, share that connection to the laptop, and then share that connection over WiFi again.
The simplest solution however is to buy something like this wireless repeater:
http://www.newegg.com/Product/Product.aspx?Item=33-704-049
That will take an ethernet or WiFi connection and share it over wireless. This solution is the most expensive, but it doesn't depend on any of your existing devices to work.
If you ever find yourself in the position of having a rooted (jailbroken) Android device handy, there's an app called "fqrouter2" which can connect to a wi-fi network and share the connectivity on its own network with a different SSID by using the android hotspot functionality.
It's a good idea to plug in the phone being used as a router, though, because it uses battery rather fast. Also don't be surprised to find it warm to the touch.
I used mine this way while on vacation with friends because the Wi-fi of the hotel was only really usable near the door of the room, so I sacrificed my phone usage so everyone could have internet. I used my computer instead :) No whatsapp, but I still had facebook and youtube.