While 'patio11's post is (as usual) a valuable contribution, yours is far more useful in this particular case.

To the OP, having come close to your situation before, my advice is to focus on finding a day job. If visas are an issue, look for remote work or cash work (or, I suppose, a long-term "freelance" gig--for example ad agencies in Canada frequently employ programmers to do work in-house as contractors), but focus on finding anything that will let you wake up every day without worrying about how you'll pay rent or buy food. Freelancing/consulting is great, but there are a number of factors which make it a lot more difficult to dig yourself out of a hole that way, especially if you don't have a track record of consistently filling your time with valuable client engagements. You can always re-visit that path once you have savings in the bank.

EDIT: This is a subject that's fresh in my heart and mind, having transitioned from (some of) the starry-eyed delusions of youth to (some of) the miserable realities of adulthood more recently than many here. Guys like 'patio11 mean very well, and they are giving actionable advice which I've made work for myself many times over, but they are taking a few things for granted which they maybe shouldn't, and de-emphasizing the importance of a few things which programmers have a tendency to over-emphasize:

1. You cannot charge $100/hour if you can't demonstrate any previous success at all. It's true that programmers over-emphasize the importance of this most of the time, but you do need something.

2. You cannot charge $100/hour if you're not able to act like a professional. This includes communicating professionally, dressing professionally, etc. Again, programmers over-estimate the importance of this, but there is a basic requirement (which is probably on par with most North American white collar work).

3. You will never be able to bill 100% of your work time and it's probably not realistic to even get 60% in your first year of solo operation. (That, by the way, is part of why $100/hour is on the low end of what you should be charging.)

4. You will almost never get paid on time, and it's not unusual (a few times a year) to face expenditures which represent more than a week's work (tax season, etc), so you should have at least a month's worth of cash float available.

5. Regardless of your overall market value and the value you're able to create for any business, there are many parts of North America where businesses will not justify spending more than $100/hour on your work. Your options (as a freelancer/consultant) are basically moving or trying to work remotely (see 6).

6. You're not going to get a "freelance job" at $100/hour working remotely unless you're $INSERT_INTERNET_FAMOUS_NAME. You might get a consulting engagement, but only if you've met the client in person previously, or you've been referred by someone, or you have some very serious Fu. (I am probably overstating the difficulty here, but not by much.)

7. It's near impossible to pull off #'s 1 through 6 if you don't have food to eat this week. (I'm speaking from experience, although in reality I have a wider support net than most people. This list is doubly true for those without a support net.)

In other words, 'patio11 and 'tptacek and the other good people giving wonderful consulting advice are right 100% of the time, but they're making reasonable assumptions about functional professional adults with a few connections and a bit of money in the bank (again, they're optimizing their advice for people who have the resources but lack the confidence). If you're not there yet, get a job for a while--it has its own set of challenges anyway. (And when you do, check out http://www.kalzumeus.com/2012/01/23/salary-negotiation/ for some excellent advice about salary negotiation.)