Add integer typedefs.
Add more bit manipulation macros.
Declare constructor of IoPort as constexpr.

"If a class has a constructor that is declared as constexpr and has no
destructor, you can have this as global object and it will be
initialized at compile time."
(http://woboq.com/blog/data-and-initialisation.html)
Refactor config header file.