I have the same issue when traveling to the States.
Others will likely come up with some good suggestions but here are some ideas to help you with your research (tho, I'm sure you've know much of this already)...
The big carriers are: TELUS, Bell, and Rogers.
They have value brands: Koodo, Solo, Virgin, Fido, Chatr.
New carriers are: Wind, Videotron, Mobilicity.
I don't think you can get prepaid data for apps (ie. vs just web browsing) or just get buy a data add-on for a prepaid voice plan. [just guessing]
Since you'll be here for 3 weeks, I'm wondering if you can get a post paid plan for 1 month? You'd likely be looking at around $45 to $50 (plus taxes) for a plan with a decent amount of data. [Kind of pricey but considering I paid $15/day for in room Internet access in Las Vegas...].
Where about are you going to be? Different parts of the country may have different options.