Not on the best headphones right now but I can hear things clearly, nothing sounds too cluttered and it has a nice feel to it. Nothing seems to be really competing for space either but like I said I'm not on the best headphones right now - which is probably a good thing because you can know how it will sound to the majority.
My only criticism is the vocal sounds a bit too dry in places so maybe add a little something for a bit more flavour but only needs to be subtle as it is a nice vocal, what you add is up to you or if you add anything.
As for mastering, there are benefits to it definitely and they will also listen to your mix and tell you if anything needs fixing in the mix before they master. Find a good mastering house and sit in with the engineer, I've heard of some people paying a bit more to be run through the process and sit in with the guy doing it so you'd probably get more for your money.
Nice song by the way