[kihx] Compute correct interpolated depth values.

- Implement linear interpolation in the rasterizer.
- Enable depth buffering.
[kihx] Use functional objects for depth test.

- Add enum class DepthFunc.
- Utilize std::function and lamda expressions to handle depth functions.