eliminate synchronization in doLayout

- SimpeDateFormat is not thread-safe. Replace with equivalent from
joda-time.
- StringBuilder was shared across requests. Use a new one for each
request.