To have the painting be back in the room (as opposed to owned by the player still), assign it back to the room. Something like:
painting.parent = game.pov.parent
(or "player.parent"). The player's parent should be the room the player is currently in.
There is a trick to make inventoryverbs work. The inventoryverbs attribute is defined in a base type, and you can't modify it until you create a fresh, modifiable copy in the object. To do that, use this seemingly useless statement before you attempt to add any verbs:
painting.inventoryverbs = painting.inventoryverbs
When you assign a list to an object's attribute, Quest makes a copy of it. By doing the above, it takes the current, un-modifiable list, creates a copy of it, and assigns it back to the inventoryverbs attribute. You should then be able to add items to it.