Thanks for your feedback.
Implementing a Viola Jones algorithm that is capable to detect tilted faces (and also assess the rotation) from scratch would rather resemble a PhD thesis than a weekend project for fun.
DLib has a good implementation of face landmark detection, closer to what you want to do than Viola Jones: