Refactored dependencies

The dependencies were too much complicated as the follow figure.

![pop_dependency_](https://cloud.githubusercontent.com/assets/587614/2899152/09580538-d5b0-11e3-8334-2c734c9daff4.png)

It's difficult to grasp the relations and the roles for each file.


So I refactored dependencies as the follow figure.

![pop_dependenceies_after_](https://cloud.githubusercontent.com/assets/587614/2899164/7ca351f0-d5b0-11e3-93f6-6d648cdfa367.png)


If possible, please add comments to clarify the roles for "Internal" and "Private" headers.