mi idea era más básica. sólo se podía avanzar. de cualquier modo, la lógica para también retroceder, no difiere mucho de la idea original
  Cita:  <div id="viewer">
    <img id="imgV" src="img0.png" alt="">
    <button onclick="anterior()">anterior</button><button onclick="anterior(1)">Siguiente</button>
</div>
<script>
(function(i){
 
        var arr = [
        	"img0.png",
			"img1.png",
			"img2.png",
			"img3.png",
			"img4.png"
		];
 
		var elem = document.querySelector('#imgV'), largoArray = arr.length-1;
 
 		elem.src = arr[i];
 
        anterior = function(bol){
 
        	i += (bol) ? 1 : largoArray;
 
            elem.src = arr[i % arr.length];
        }
 
    })(0)
</script>