Lately I've been stuck in waiting rooms a lot, taking both of my parents and my three kids to medical and dental and vision appointments. I always take my laptop along and try to keep things moving forward.
A lot of these places don't have public wifi, and I've noticed that most of the time it's not a problem for me.
I've been working on games in Unity, which ships with all the docs so they are available offline. The only real problem I've had is one of comfort: poor seating and lighting, nauseating muzak, and often a multitude of varieties of old lady perfume and hair spray. It's funny, however, how all of that kinda melts away when I put on my headphones and get focused on what needs to be done.
I mostly stay tuned out of social media, HN, reddit, etc. when working anyway, but if those things are a distraction, then (of course) working offline might actually be more productive.
So, as I'm sure you've already thought out, you need to set up an offline development environment. Maybe you can identify some chunks of work that don't require access to inaccessible API's for when you are offline. And some API's can be setup locally, like App Engine.
The constraints of developing offline might also present a unique opportunity to design an application that is more fault tolerant; one that does something sensible when network resources are unavailable.
Have fun traveling. I'm very jealous.