Part of #118145.
Like the draw brush, the overall API is still in progress, and in particular
duplication will be reduced in the future. But this brush already reuses
quite a bit of the utilities from the draw brush. A new utility is added for
finding vertex neighbor indices as well.
Overall I found this about 8% faster than the smooth brush in main already.
Pull Request: https://projects.blender.org/blender/blender/pulls/122906