Canada stocks gain on strong commodities