use SkinProvider SPI to deal with externals skins Implementing SkinProvider and
exposing skins using SkinProvider#getSkin() method is recommended than using this API to make
skins available at runtime.

use ExternalContext.getRequestContextPath() as of JSF 1.2. This method
does not appropriately handle portlet environments, but the functionality
is maintained to prevent needing to change the contract.