In the first speech to parliament by a Canadian prime minister since 2007, Mark Carney called for a strategic counterweight to the US and China.