pub fn overlay<P>(bottom: &Image<P>, top: &Image<P>, x: u32, y: u32) -> Image<P>
where
    P: Pixel,
{
    let mut bottom = bottom.clone();
    overlay_mut(&mut bottom, top, x, y);
    bottom
}
Blends the pixels in the `bottom` image with the pixels from the top image starting from the
given `(x, y)` coordinates in the `bottom` image and starting from `(0, 0)` in the `top` image.

# Panics

- If `x >= bottom.width()`
- If `y >= bottom.height()`

# Examples
```
use imageproc::compose::overlay;
use imageproc::definitions::Image;
use image::LumaA;

let bottom = Image::from_pixel(4, 4, LumaA([0u8, 255]));
let top = Image::from_pixel(4, 4, LumaA([255u8, 0]));

let overlay = overlay(&bottom, &top, 0, 0);

assert_eq!(overlay, bottom);
```
src/compose.rs