Better error messages for read-only etc. props

If one tries to set a read-only (or read a non-readable) property print
a proper error message, instead of just "Prelude.undefined".

Also, since the Attr constructor is strict on its fields this will no
longer give a "Prelude.undefined" error if one tries to construct a
construct-only property (before an error was given since the "undefined"
setter was evaluated). Creating a window with

> new Window [windowType := WindowTypeToplevel]

was an example, which now works as it should.