The Physics of Semiconductors: An Introduction Including Devices and Nanophysics