Implement FunctionTraits to support two kinds of elementwise functor and remove some old codes for broadcast. (#35487)