text: Title: Improve speed for box blur (mean filter)
  Body: ## 🚀 Feature
  <!-- A clear and concise description of the feature proposal -->
  
  Originally from this: https://github.com/kornia/kornia/issues/720#issuecomment-881859300
  
  In theory box blur (mean filter) can be implemented in O(n) time.
  
  Two solutions
  
  - Use 2 separable 1D kernels (like `gaussian_blur2d()`) -> O(nk) time, should be simple. Only launch 2 pytorch calls.
  - Use intergral image (like [here](https://github.com/wuhuikai/DeepGuidedFilter/blob/master/GuidedFilteringLayer/GuidedFilter_PyTorch/guided_filter_pytorch/box_filter.py)) -> O(n) time. It seems like there will be quite a lot of overhead for small kernels
  
  ## Motivation
  
  <!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]. If this is related to another GitHub issue, please link here too -->
  
  ## Pitch
  
  <!-- A clear and concise description of what you want to happen. -->
  
  ## Alternatives
  
  <!-- A clear and concise description of any alternative solutions or features you've considered, if any. -->
  
  ## Additional context
  
  <!-- Add any other context or screenshots about the feature request here. -->
  
  ______________________________________________________________________
  
  #### Consider also to contribute to Kornia universe projects :)
  
  <sub>
  
  - [**Tutorials**](https://github.com/kornia/tutorials): our repository containing the tutorials.
  
  </sub>
  