Dynamic requiring for internal modules

Hi,

Consider the following scenario: one wants to plug this in this own app, then he copies the "playboy" folder in a "vendor" folder (along with some other libs) in his own project, then he runs:

```lua
playboy = require('vendor.playboy'):new()
````

It breaks everything, because of the way submodules `class.lua` and `chat.lua` were internally required.
This pull request (hopefully) solves it.

Regards,
Roland.