Lab05: Add Bookshelf and BookshelfWithBooks

My commits add a bookshelf and a bookshelf with books on it. Number of books and their heights are randomized.