### Is your feature request related to a problem or challenge? Part of #8709. ### Describe the solution you'd like 1. Convert `row_number` to user-defined window function by implementing the `WindowUDFImpl` trait and removing it from `ButilInWindowFunction` 2. Add a new crate for user-defined window functions. ### Describe alternatives you've considered _No response_ ### Additional context _No response_