Verlet integration movement - doubt for on_key_press() methods
def handler(self):
        '''
        Calls Player on_x_key_pressed(), on_x_key_released()
        methods according to event bools set from the listener method.
        '''
        # Moving
        if self.left_key_pressed and self.right_key_pressed:
            self.player.keys_up()


From this point, you know that both keys cannot be pressed at the same time, so you can continue with:

        elif self.left_key_pressed:
            self.player.on_left_key_pressed()
        elif self.right_key_pressed:
            self.player.on_right_key_pressed()
        else:
            self.player.keys_up()


It's up to you to see if you find it more easy to read.

I'm afraid I can't help much with the way you use verlet integration. Last comment: Try to avoid passing the key events around too much, or try to be more 'semantic', eg. send move_left to self.player instead of on_left_key_pressed.