Add a inventory to bookshelf, in which books are unstackable

Migrated this pull request from common to here.
![2013-05-04-205914_1024x768_scrot](https://f.cloud.github.com/assets/4067473/690648/a1154628-db1b-11e2-9d0c-b9f85bbf94c0.png)