Now I haven't done very much (well any) research into these applications, but I would need something that is compatible with all of those device, and preferably one that I don't need to lug around on a usb key (which can be lost/stolen)
Using your own home-brew security rather than doing research on established solutions is, to a first approximation, always a terrible idea.
There are solutions like SuperGenPass which can generate passwords on the fly by multiple-round hashing and can be trivially accessed from any device. However, I'd argue that if you have access from (multiple!) mobile devices, you don't need any special access from your friend's house, unless your friend has a strict no-mobile policy in place. Once you have a mobile device in place, there are lots of applications -- LastPass, 1Password, KeePass, KeePassX, &c., that will all serve your needs. I use KeePassX (and the compatible KeePassDroid on my phone) and synchronise my password database by storing it in Dropbox, which runs on all platforms I care about, partially because I prefer not to have a cloud password company be in charge of my password data. (I don't regard Dropbox as highly secure, but the odds of anyone breaking into my Dropbox account and subsequently breaking some two million rounds of AES applied by KeePassX...this is not a danger that keeps me awake at night.)
Another nice feature of KeePassX (which the others may have as well, I'm not sure) is the ability to generate passwords for different sets of rules. If some site irritatingly allows only 10 character passwords with a restricted set of symbols, you can configure its random password generator to satisfy that restriction. I don't think I've come across a site yet with requirements it can't generate passwords for.
Incidentally, key files (on USB sticks or similar) are there to enhance, not reduce, security: you can configure the software to require both a passphrase and the key file, s.t. even a stolen USB stick doesn't severely compromise your security. Of course, very thorough backups would be adviseable...but if you store all the passwords you ever use in one database file, you hopefully back things up thoroughly already.
(The one nuisance is a consequence of shitty websites: my default settings generate superfluously long random strings because why not?, certainly won't hurt, but some sites will silently truncate your passwords to whatever their undisclosed maximum length is. Since they don't necessarily truncate it identically on login as on password registration, this means that long passwords will fail on some shitty login systems. Of course, this would apply equally well to manually generated passwords, if long enough.)