Quantized models and legalization pass

@giuseros @anijain2305 Let us accept one more argument like alter_op_layout

@tvm.target.generic_func
def conv2d_alter_layout(attrs, inputs, tinfos, out_type):

@tvm.target.generic_func
def qnn_conv2d_legalize(attrs, inputs, types):
    """Default legalization is None."""
    return None

Then we could leverage relay.backend.compile_engine.select_implementation