Using System.getProperty("line.separator") instead of '\n' and adding pre-caching of licenses text

In some Android versions using '\n' does not lead to a new line on TextViews. Instead, the standard System.getProperty("line.separator") must be used. This was affecting licenses text, since the method for reading them was adding '\n' characters that were not being shown in the licenses dialog (see the following image from a screenshot on a Nexus 5 running Android 4.4.4)
![licenses_dialgo_line_break](https://cloud.githubusercontent.com/assets/4471465/4504754/cac9d91c-4aea-11e4-8576-30f8cc7fa350.jpg)

Also, when a license's text was requested, either by using 'getSummaryText' or 'getFullText', a fresh new read from the raw resource was performed. This can slow down the dialog when multiple instances of the same license are used, which is quite common (most licenses on our projects are apache 2.0). I added some changes to read the raw resource once and store the resulting String, so subsequent calls to the previous methods would return the cached String.
Please use the naming convention used in this project (m-prefixed)