INTERFACE/ANALYZER: Use a dedicated method for normalization

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE: Move all common definitions into a dedicated header.

Part of #42.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Implement the pimpl idiom

Fixes #42.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>