This question has been answered several times as part of more general questions about seasoning. See the (closely) related links in the related questions list. This one in particular: What's the best way to season a cast iron skillet?What's the best way to season a cast iron skillet?
Specifically about oil- you want to use an oil that has a high iodine value: http://www.journeytoforever.org/biodiesel_yield.html#highiodine
Of those you listed canola (rapeseed) would be highest. If you can find soybean oil it would be even better.
These oils polymerize more easily. To create an even coating with good adhesion, multiple thin coats work well. I have read of people doing as many as 6 coats but, in my opinion, you should do at least 2 or 3.