amazeing 0.8.0

Amazeing is a maze generator/solver application with simulation/visualization.
#[allow(dead_code)]
pub(crate) trait IsDivisible {
    fn is_even(&self) -> bool;
    fn is_odd(&self) -> bool;
    fn odd_ceil(&self) -> Self;
    fn odd_floor(&self) -> Self;
}

impl IsDivisible for usize {
    fn is_even(&self) -> bool {
        self.is_multiple_of(2)
    }

    fn is_odd(&self) -> bool {
        !self.is_even()
    }

    fn odd_ceil(&self) -> Self {
        if self.is_odd() { *self } else { *self + 1 }
    }

    fn odd_floor(&self) -> Self {
        match self {
            0 => 1,
            _ if self.is_even() => *self - 1,
            _ => *self,
        }
    }
}