Similar to getting a raise at a full time job, the best way to walk up your rate as a freelancer is to get a new client and charge more.
In lieu of that option, I'd suggest finding a good stopping point (say after a feature is completed) and talk to your client about pursing further work at a different rate. Since they like both you and your work, I wouldn't be nervous about creating animosity—developers are in EXTREMELY HIGH DEMAND and they will be happy to properly compensate you now that you've proven your value.
I will say that it's still much more difficult to get a raise from the same client. Even if you like working with them you should at least see what else is out there for no other reason than leverage during negotiation.