Added basic index buffer implementation.
Changed functions to return std::unique_ptrs.