Allow targets to override default codegen backend Implements https://github.com/rust-lang/compiler-team/issues/670.