My first attempt at mastering...

It's really hard to give advice on mastering, man.
Mastering and Mixing are 2 COMPLETELY different animals.

I would say you need a little work with the final mix first. Your drums sound really thin and non-existent and the samples sound pretty terrible IMO. There are tons of great sounding drum samples out there! That would be a start. Look into it.

The piano and keyboards are too loud and the guitars too soft. The vocals are decent.

As far as Mastering, hard to say... I guess it is ok for a demo, but I wouldn't worry about Mastering too much until you have the mix all tweaked.
 
Hey man thanks for the reply. I can't do much about the drums apart from bumping em up as this is a collaboration and I didn't program them. The guitars and piano thing I've been trying to get right for a while now- finding it quite hard to get piano to cut well without backing off the guitar. I'll try remixing it and then maybe just running ultramaximizer over it and we'll see if I can't make it sound much better. Hope you don't mind if I post an update later for opinions. I'm still pretty crappy at this compared to everyone here but I'm really trying on this one to make it sound especially good. It's become a mission!